<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>文章添加</title>

    <!-- 引入自己写的样式 -->
    <link rel="stylesheet" href="css/conmmon.css">
    <link rel="stylesheet" href="css/blog_edit.css">

    <!-- 引入 editor.md 的依赖 -->
    <link rel="stylesheet" href="editor.md/css/editormd.min.css" />
    <script src="js/jquery.min.js"></script>
    <script src="editor.md/editormd.js"></script>
</head>

<body>
    <!-- 导航栏 -->
    <div class="nav">
        <img src="img/logo2.jpg" alt="">
        <span class="title">我的博客系统</span>
        <!-- 用来占据中间位置 -->
        <span class="spacer"></span>
        <a href="blog_list.html">主页</a>
        <a href="blog_drafts.html">草稿箱</a>
        <a href="#">注销</a>
    </div>
    <!-- 编辑框容器 -->
    <div class="blog-edit-container">
        <!-- 标题编辑区 -->
        <div class="title">
            <input id="title" type="text" placeholder="在这里写下文章标题">
            <button onclick="mysub()">发布文章</button>
        </div>
        <div class="title">
            <input type="text" placeholder="文章摘要100字以内" id="description">
            <button id="save_su" onclick="mysave()">保存草稿</button>
        </div>

        <!-- 创建编辑器标签 -->
        <div id="editorDiv">
            <textarea id="editor-markdown" style="display:none;"></textarea>
        </div>
    </div>

    <script>
        var editor;
        function initEdit(md){
            // 编辑器设置
            editor = editormd("editorDiv", {
                // 这里的尺寸必须在这里设置. 设置样式会被 editormd 自动覆盖掉. 
                width: "100%",
                // 高度 100% 意思是和父元素一样高. 要在父元素的基础上去掉标题编辑区的高度
                height: "calc(100% - 50px)",
                // 编辑器中的初始内容
                markdown: md,
                // 指定 editor.md 依赖的插件路径
                path: "editor.md/lib/",
                saveHTMLToTextarea: true // 
            });
        }
        initEdit("# 在这里写下一篇博客"); // 初始化编译器的值
        // 提交
        function mysub(){
            //1.非空判断
            var title = jQuery("#title");
             var content = editor.getValue();
             var description = jQuery("#description");

            if(title.val().trim()==""){
                alert("请先输入标题");
                title.focus();
                return false;
            }
            if(description.val().trim()==""){
                alert("请先输入文章摘要");
                title.focus();
                return false;
            }

            //获取md里面的内容
           
            if (content == null || content == '' || content == '# 在这里写下一篇博客') {
                alert("请编辑正文 !");
                jQuery("#editor-markdown").focus();
                return false;
            }

            //提交数据给后端
            jQuery.ajax({
                url:"/art/add",
                type:"POST",
                data:{
                    "title":title.val().trim(),
                    "description": description.val().trim(),
                    "content":content
                },
                success:function(res){
                    if(res.code==200 && res.data==1){
                        //文章添加成功
                        if(confirm("文章添加成功,是否继续添加文章？")){
                            location.href = location.href;//刷新当前页面
                        }else{
                            locationbar.href = "myblog_list.html";
                        }
                        
                    }else{
                        //文章添加失败
                        alert("文章添加失败："+res.msg);
                        return false;
                    }
                }
            });
           
            // editor.setValue("#123") // 设置值
        }

        function mysave(){
            //获取标签内容
            var title = jQuery("#title");
             var content = editor.getValue();
             var description = jQuery("#description");

             //标签和摘要为空的处理

             if(title.val().trim()==""){
                title.html("无标题");
             }
             if(description.val().trim()==""){
                description.html("暂无摘要");
             }

             if(content==null || content==""||content=='# 在这里写下一篇博客'){
                alert("暂无需要保存的内容");
                jQuery("#editor-markdown").focus();
                return false;
             }

             jQuery("#save_sub").attr("disabled", "disabled");

             jQuery.ajax({
                url:"/art/savearticle",
                type:"POST",
                data:{ 
                    "title": title.val().trim(),
                    "description": description.val().trim(),
                    "content": content
                },
                success:function(res){
                    if(res.code == 200 && res.data ==1){
                        alert("草稿保存成功");
                        location.href = "myblog_list.html";
                    }else{
                        alert("保存失败 : " + res.mnsg);
                        jQuery("#save_sub").removeAttr("disabled");
                    }
                }
             });
        }


        //保存文章

        var timeoutId = null;
        function onInput(){
            //定时器清除
            if(timeoutId){
                clearTimeout(timeoutId);
            }
            //5秒获取一次内容，如果一直在操作就重置计时器，否则执行自动保存

            timeoutId = setTimeout(autoSaveArticle,5000);
        }

            var artuuid = Math.random().toString(36).substring(2);

            //自动保存
            function autoSaveArticle(){
                //获取标签
                var title = jQuery("#title");
                var content = editor.getValue();
                var description = jQuery("#description");

                console.log("正在保存...");

                jQuery.ajax({
                    url:"/art/autosavearticle",
                    type:"POST",
                    data:{
                        "title":title.val().trim(),
                        "description": description.val().trim(),
                        "content": content,
                        "artuuid": artuuid
                    },
                    success:function(res){
                        if(res.code == 200 && res.data ==1){
                        alert("保存成功");
                    }else{
                        alert("保存失败");
                        console.log("自动保存失败");
                    }
                    }
                });
            }


            function isLogin(){
                jQuery.ajax({
                    url:"/user/islogin",
                    type:"POST",
                    data:{},
                    success:function(res){
                        if(res.code==200&&res.data==1){
                            
                        }else{
                            location.href="login.html";
                        }
                    }
                });
            }
            isLogin();
        
    </script>
</body>

</html>